package com.supermarket.mapper;

import com.supermarket.entity.ArticleMedia;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ArticleMediaMapper {
    // 插入文章媒体
    int insertArticleMedia(ArticleMedia articleMedia);

    // 批量插入文章媒体
    int batchInsertArticleMedia(List<ArticleMedia> mediaList);

    // 更新文章媒体
    int updateArticleMedia(ArticleMedia articleMedia);

    // 删除文章媒体
    int deleteArticleMedia(@Param("id") Integer id);

    // 根据ID查询文章媒体
    ArticleMedia selectArticleMediaById(@Param("id") Integer id);

    // 根据文章ID查询所有媒体
    List<ArticleMedia> selectMediaByArticleId(@Param("articleId") Integer articleId);

    // 根据文章ID和媒体类型查询媒体
    List<ArticleMedia> selectMediaByArticleIdAndType(@Param("articleId") Integer articleId, @Param("mediaType") String mediaType);

    // 根据文章ID删除所有媒体
    int deleteMediaByArticleId(@Param("articleId") Integer articleId);

    // 更新媒体排序
    int updateMediaSortOrder(@Param("id") Integer id, @Param("sortOrder") Integer sortOrder);

    // 根据媒体类型统计数量
    int countMediaByType(@Param("mediaType") String mediaType);
}